Видимо єта кнопка тесно спряжена с более низкими слоями игры (чит. "hardcoded"). Похоже, что скрыть её нельзя. Я могу только посоветовать вернуться назад и посмотреть, что можно сделать по-другому, чтобы не приходилось скрывать кнопку.
Порыть там надо, во всяком случае стандартные приказы, иконки и клавиши к ним там прописаны.
(естесственно нужно импоритровать эти изменённые файлики в карту)
Я пробовал прописывать кнопке неадекватные значения позиции кнопки и пиктограммы, но ничего не вышло — игра подставляет свои значения.
да сделать такое можно...
при использовании способности "звездопад"... создаём даммика которому приказываем использовать предметную способность распространения порчи...
Лимит операций, обычно это беда настигает заядлых гуишников.
На jass обычно нету таких проблем.
Создайте таймер с периодом .00 сек и запускайте им функции инициализации триггеров.
функция типа InitTrig_Имя триггера - это функция инициализации триггера, она вызывается из функции InitCustomTriggers, но если этих вызовов очень много то функция упирается в лимит операций и поток завершается так и не создав все триггеры.
ну редактор тебе ведь написал, что файл поврежден. если даже он работает в игре, это еще не значит, что с ним все в порядке.
если же эдитор на все подряд ругается - другое дело, снести и поставить опять
Редактор ландшафта -> Файл -> Экспортировать скрипт карты. Пишешь небольшой парсер, который отсекает всё до первого триггера, затем каждый триггер в отдельный файл, затем всё после последнего триггера в отдельный файл.
в качестве параметра Condition должна быть функция которая takes nothing returns boolean
для ForGroupBJ должна быть функция takes nothing returns nothing
смотри гуишные примеры и читай статьи
с погоней всё легко(если ты конечно не хочешь чтобы аи прошёл Тест Тьюринга)
если юнит врага видим то запоминаем его координаты и идём к нему
если юнит врага исчез из области видимости (ушёл в туман/инвиз) то идём к последнему местонахождению врага(наши запомненные координаты)
стоит совместить это с проверкой на смерть цели погони(чтобы не бежать к трупу) и с проверкой на угрозу (чтобы не залезть под фонтан случайно)
добавить кода и специй по вкусу
А что мешает поставить время жизни 0 сек, тогда у него не будет таймера жизни и он не помрет по истечению времени.
Используя событие - юнит призвал юнита, можно установить желаемое время жизни призванного юнита.
Ну тот же огненный дождь, там можно настроить лимит урона на волну, а так же настроить урон от горения, т.е на врагах появляется дебафф который их жжет несколько секунд. Ну еще можно абилку огенный голем, в версии где может упасть несколько големов с интервалом, вместо эффекта падения голема сделай эффект землетрясения, а вместо големов щупальца, типо из под землю вылазят. Правда оглушать будет.
Конечно не кастуют, ии получает приоритет исходя из того кто большее всех дерется, кто напал или убивает союзника тот и есть наиболее подходящая цель.
Триггерно проверять нет ли в пределах досигаймости юнита без баффа, если есть то пытатся кастануть в него некоторый скилл - к примеру проклятие банши.
SaveUnitHandle(hash,GetHandleId(target),7,caster);
GetHandleId(target) - хендл самого юнита
LoadUnitHandle(hash,GetUnitTypeId(u),7);
GetUnitTypeId(u) - Ид типа юнита, а не хендл.
Если юнит под баффом "чума" - добавить в отряд Чума
Иначе - удалить из отряда Чума
Триггер
С. Таймер Чума
Отряд выбрать юнитов Чума
Если юнит умер
Д. создать юнита в позиции выбранного юнита.
dave_wwid, уже заметил что даная проблема происходит после сжатия модели стандартными функциями в mdlvis. Нашел лично для себя альтернативу так что вопрос закрываю.
Файл карты - это архив, где содержатся файлы с данными о ландшафте, тенях, юнитах, триггерах и прочего этой карты. Бегло посмотрел пустую карту и насколько понял, за ландшафт отвечают три самых больших файла: в одном содержится информация о текстурах тайлов, в другом о тенях на тайлах, в третьем либо о проходимости, либо о высотах ландшафта. Может быть ещё где-то хранится информация, но не суть. Файл с данными о тенях war3map.shd можно удалить, при сохранении редактор его создаст заново, а вот два других файла war3map.w3e и war3map.wpm нужно аккуратно увеличить, копируя данные внутри них. Только, как отметил Jack-of-shadow, есть лимит у редактора и игры. Не факт, что редактор вообще откроет, а потом сохранит такую большую карту. Если всё-таки хочешь попытаться, то качай:
И тренируйся сперва сделать с помощью этого из карты 32х32 карту 64х64, как получится, можно из 256х256 попытаться сделать 512х512. Если с ней не будет проблем, то можно продолжать.
P. S. Stason888045:
У меня абсолютно нет никаких навыков даже в элементарном программировании, разобрать прогу или игру самому - не осилю ни за что.
А как триггеры делаешь? Как раз элементарное программирование.
20 - 30 к разрушаемых объектов, главное что бы у них не стояло галочки "можно пройти". А вот то что в кадре, это уже другое ограничение. Это зависит от полигонажа моделей. Кажется больше 60 тысяч полигонов в кадре начинают плясать. Анимация сама по себе не на что не повлияет, а вот кол-во костей возможно. но 2-3 на каждый куст вполне можно.
А если кодом, то мелкую траву можно вообще спавнить как спецефекты.
1.Либо в точки где тлайсет раскрашен травой.
2.Можно расставить в редакторе, как декорации, а потом получить список в *doo. И блокнотиком зареплейсить, на эфекты.
Файл карты - это архив, где содержатся файлы с данными о ландшафте, тенях, юнитах, триггерах и прочего этой карты. Бегло посмотрел пустую карту и насколько понял, за ландшафт отвечают три самых больших файла: в одном содержится информация о текстурах тайлов, в другом о тенях на тайлах, в третьем либо о проходимости, либо о высотах ландшафта. Может быть ещё где-то хранится информация, но не суть. Файл с данными о тенях war3map.shd можно удалить, при сохранении редактор его создаст заново, а вот два других файла war3map.w3e и war3map.wpm нужно аккуратно увеличить, копируя данные внутри них. Только, как отметил Jack-of-shadow, есть лимит у редактора и игры. Не факт, что редактор вообще откроет, а потом сохранит такую большую карту. Если всё-таки хочешь попытаться, то качай:
И тренируйся сперва сделать с помощью этого из карты 32х32 карту 64х64, как получится, можно из 256х256 попытаться сделать 512х512. Если с ней не будет проблем, то можно продолжать.
P. S. Stason888045:
У меня абсолютно нет никаких навыков даже в элементарном программировании, разобрать прогу или игру самому - не осилю ни за что.
А как триггеры делаешь? Как раз элементарное программирование.
Итак, спустя 30 часов тестов по 10 минут каждый я нашел проблему.
После 10 минуты при юза огненного столба (его юзали компы, если не я) зависает варкрафт. РЕФАНДЕД спасибо! Инфа сотка, такая проблема оказалась не только у меня в проекте.
Спасибо всем, кто пытался помочь, вы лучшие! :)
Тема закрыта.
Melissa, Короче я разобрался - все проблемы были из-за переменной Total_Num_Players, она была подбита под живых игроков, а так как я был единственным живым игроком, то давала строку равную 1 (то есть 0+1 я). В общем спасибо, не додумал бы без твоей помощи до своей ошибки(у тебя ведь создаётся по заданому числу количество строк).
Короче, так как не разобрался, то сделал пока костыль. Герой этот использует анимацию Spell лишь для этой способности, потому прописал звук появления прямо в модель героя, ну а звук исчезновения у эффекта всё равно работает.
Если всё-таки нужно количество, то далее поставил действие, которое выводит на экран число играющих, просто укажи его целочисленной переменной.
Если нужно количество только реальных игроков или только компьютеров, то добавь соответствующие условие.
Скрин триггера:
Пока делал карту и печатал ответ, PyCCKuu_4eJl опубликовал свой вариант.
Вроде можно как TriggeringUnit, ибо ссылается на одного юнита. Взял бы проверил сам дебагом, название юнита выводи на экран
по-другому никак
Кроме событий почти никак, можно периодически таймером проверять. Вот можно проверять периодически с помощью группы и счётчика кол-во юнитов в области, стало ли больше или меньше. Неудобно. Юнит выбран можно также заменить периодической проверкой таймером, есть условием - юнит выбран игроком, то есть вами, через GetLocalPlayer(), не знаю дисихрон будет. Или какой-то другой игрок. Наверное тоже неудобства есть.
AgaraSatan, так и думал.
там нужно не тип "исследуемый юнит", там другая переменная "переключаемый юнит (англ. triggering unit)". Исследуемый юнит - работает при событии юнит изучает/исследует. у тебя условие просто не прокатывает. делай дебаги
Для начала проверь отрабатывает ли у тебя событие. Добавь действие "показать сообщение". Если норм, то замени эффект на стандартный. Если норм, значит дело в модели.
ilyhaspmarine, я тут посмотрел. Его можно просто триггерно заменить, предметы не пропадут. А эффект того света что при повышении уровня, тоже можно сделать триггерно.
При осмотре карты тоже не совсем понял почему игра перестает строительство. Как решение, ты можешь даммику строительства поменять расу на нежить, таким образом уже здание само будет достраиваться.
Поскольку у тебя на карте при беглом осмотре юнитов строителей я не заметил, то выше указанное решение как раз то что нужно тебе.
П.С.
Под какую версию игры рассчитана данная карта?
Этот блок надо помещать под GetLocalPlayer()== твой игрок
В функции function CodeGen_Compile takes nothing returns string у тебя вместо игрока используется GetTriggerPlayer(), который равен null.
В данной системе есть ошибка. А именно. В функции:
function CodeGen_Encode takes integer i returns string
local integer b
local string s = ""
if i <= udg_SaveLoad_Base then
return SubString(udg_SaveLoad_Alphabet, i, i + 1)
endif
loop
exitwhen i <= 0
set b = i - (i / udg_SaveLoad_Base) * udg_SaveLoad_Base
set s = SubString(udg_SaveLoad_Alphabet, b, b + 1) + s
set i = i / udg_SaveLoad_Base
endloop
return s
endfunction
надо изменить:
if i <= udg_SaveLoad_Base then
return SubString(udg_SaveLoad_Alphabet, i, i + 1)
endif
на:
if i < udg_SaveLoad_Base then
return SubString(udg_SaveLoad_Alphabet, i, i + 1)
endif
» WarCraft 3 / Как скрыть кнопку строительства?
» WarCraft 3 / Объединение способностей
» WarCraft 3 / Как сделать геройское свечение?
» WarCraft 3 / Крашится модель
» WarCraft 3 / Редактор кода
» WarCraft 3 / общий вопрос про jass
» WarCraft 3 / Редакторы карт WarCraft 3
» WarCraft 3 / помогите вспомнить карту
» WarCraft 3 / Враг на миникарте
» WarCraft 3 / Как изменить условие наоборот?
» WarCraft 3 / Не открывается мапа
» WarCraft 3 / огненный дождь.
» WarCraft 3 / Паразит.
» WarCraft 3 / Превращение в зомби.
» WarCraft 3 / Ошибка в редакторе моделей
» WarCraft 3 / Какой лимит размера карты?
» WarCraft 3 / Особый удар
» WarCraft 3 / Нужна помощь мультиборд
» WarCraft 3 / Исчезновение звука
» WarCraft 3 / гнев деревьев (корни)
» WarCraft 3 / Как отследить улучшения зданий?
» WarCraft 3 / Как сделать подсчет игроков?
» WarCraft 3 / Переключающий юнит
» WarCraft 3 / Помощ в триггерах
» WarCraft 3 / Выбор игрока в Preload